package com.spider.spiderorderadmin.service;


import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.spider.spiderorderadmin.entity.dto.ResourceTreeNode;
import com.spider.spiderorderadmin.entity.dto.SystemResourceDTO;
import com.spider.spiderorderadmin.entity.model.SystemResource;
import com.spider.spiderorderadmin.entity.param.SystemResourceQueryParam;

import java.util.List;


/**
 * @author xiong.bo
 * @version 1.0
 * @date 2020/11/29 12:36
 */
public interface SystemResourceService extends IService<SystemResource> {

    /**
     * 获取系统资源列表
     *
     * @param queryParam
     * @return
     */
    Page<SystemResource> selectPage(SystemResourceQueryParam queryParam);

    /**
     * 查询树形结构的系统资源
     *
     * @return
     */
    List<ResourceTreeNode> selectTreeResource();

    /**
     * 查看资源详情
     *
     * @param id
     * @return
     */
    SystemResource findById(Long id);

    /**
     * 新增资源
     *
     * @param systemResourceDTO
     * @param userId 当前用户ID
     * @return
     */
    SystemResource save(SystemResourceDTO systemResourceDTO, Long userId);

    /**
     * 修改资源
     *
     * @param systemResourceDTO
     * @param userId 当前用户ID
     * @return
     */
    SystemResource update(SystemResourceDTO systemResourceDTO, Long userId);

    /**
     * 批量删除资源，根据ids
     * 存在批量，则删除一个也调用此方法即可
     *
     * @param ids
     * @return
     */
    Boolean deleteByIds(String ids);


}
